package jp.seraph.jsade.model;

/**
 * ジャイロの値を表すインターフェース
 * このインターフェースの実装はイミュータブルであるべきである。
 *
 */
public interface GyroValue {
    /**
     * x軸周りの変位量（回転量）を返す
     * @return 回転量
     */
    public double getX();

    /**
     * y軸周りの変位量（回転量）を返す
     * @return 回転量
     */
    public double getY();

    /**
     * z軸周りの変位量（回転量）を返す
     * @return 回転量
     */
    public double getZ();

    /**
     * このインスタンスが表す値に引数のインスタンスが表す値を足したものを返す。
     *
     * @param aValue
     * @return 計算結果のGyroValue
     */
    public GyroValue add(GyroValue aValue);
}
